<?php
/**
 * 
 * Esta clase contiene todas los metodos que nos permitirann generar los graficos de Seguimiento
 * de ventas
 * @author Rosanna Paberli Jimenez Rosario.
 *
 */
class GraficoSeguimientosVentas extends Controller
{
	private $_semanaArray;
	private $_idUsuario;

	
	public function __construct()
	{
		parent::Controller();
		$this->load->library(array('chgraficos','chcalendario'));
		$this->load->model(array('detallerentradas','tiposeguimientomodel','mtransaccionentrada','TransaccionHistorico','usuarios','mvistadetallemodel'));
		
		
	    if ($this->input->post('idusuario') == 0){
			
			  $this->_idUsuario = false;
			  
		}else{
			
		      $this->_idUsuario = $this->session->userdata('LOGGED_USR_ID');
		}
		
	
			if($this->input->post('idusuario') == 17){
				
				 $this->_idUsuario = 17;
				 
			}elseif ($this->input->post('idusuario') == 14){
			
				$this->_idUsuario = 14;
				
			}elseif ($this->input->post('idusuario') == 8){
				
				$this->_idUsuario = 8;
				
			}elseif($this->input->post('idusuario') == 22){
				
				$this->_idUsuario = 22;
				
			}elseif ($this->input->post('idusuario') == 0){
				
				$this->_idUsuario = false;
			}
			
			
		$semana = $this->input->post('semanas') ? $this->input->post('semanas') : 9;
		
		$this->session->set_userdata('semAc',$semana);
		
		$this->_semanaArray = $this->chcalendario->semana($semana);
		
	    for ($i = $semana; $i >= 0; $i--){
		 		
		 	 $semana = date('W') - $i;
		 	
		 	 if ($semana <= 0) {
		 		 $semana = 52 + $semana;
		  }
		  
		}
		
		
	}
	
	
	public function index()
	{
		    
			$this->load->view('second', array('content_page' => 'Indicaventasseguimi',
											  'menutop'		 =>  5,
											  'seguitoInbo'	 =>  $this->totalSeguiInbound(),
											  'seguimietoTi' =>  $this->composicionInbound(),
											  'ventasPromIn' =>  $this->ventasPromediosIn(),
											  'seguimGest'   =>  $this->composicionInboundPorGestor(),
											  'ventasSeg'    =>  $this->ventasSeguiPromediosIn(),
											  'seguiInb'     =>  $this->compSeguimientoInPorGestor(),
											  'ventasGestor' =>  $this->ventasPorgestor(),
											  'seguiDiasSe'  =>  $this->seguimientosDiasSemana(),
											  'porHoras'	 =>  $this->seguimiPorHoras(),
											  'seguiDias'    =>  $this->seguiPorDias(),
											  'semanaFiltro' =>  9,
		                                      'semana'       =>  $this->_semanaArray,
											  'opcion'	     =>  $this->_idUsuario));
											
											  
											  
											  
	}
	
	
	
	/**
	 * 
	 * Este es el metodo que generara el total de seguimiento de Inbound por tipo
	 * ya sea, LLamada, Mail, MailAutomatico, SMS.
	 * En este metodo podremos filtrar por fecha y por gestor.
	 */
	public function totalSeguiInbound()
	{
		/**
		 * Contiene un array con todos los registro..
		 * @var array $registro
		 */
		
		$registro = array();
		
		$strCat = "<categories>";
			
		     foreach($this->_semanaArray as $semana => $fecha){

		          $fechaI = $fecha[0];
		          $fechaF = $fecha[1];
		     	
		  
		     	  $semanaDetalle = explode("-", $semana);		
		     		
		     			
		          $strCat .= "<category label='".$semanaDetalle[0]."'/>";
		     	  	    
		            	           
		          $registros = array("DateSistema >=" =>$fechaI);		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registros["DateSistema <="] = $fechaF;
		           }
		           
		           
		           /**
		            * 
		            * Seguimiento ventas  por llamadas
		            * 
		            */
		           
		           $registroSeguimientos = 0;
		           $idSeguimientoLLamada = array(1);
		           $registroSeguimientos = $this->detallerentradas->loadCantByIn($registros, $idSeguimientoLLamada, $this->_idUsuario);		           
		           $registro[$semana]["LLamada"] = $registroSeguimientos;
		          
		           
		           /**
		            * Mail
		            */
		           
		           $registroSeguimientoMail = 0;
		           $idSeguimientoMail = array(2);
		           $registroSeguimientoMail = $this->detallerentradas->loadCantByIn($registros, $idSeguimientoMail, $this->_idUsuario);		           
		           $registro[$semana]["Mail"] = $registroSeguimientoMail;
		           
		           
		           /**
		            * Mail Automatico
		            */		
		                      
		           $registroMailAutomatico = 0;
		           $idMailAutomatico = array(3);
		           $registroMailAutomatico = $this->detallerentradas->loadCantByIn($registros, $idMailAutomatico, $this->_idUsuario);    																	    
		           		
		           $registro[$semana]["MaiA"] = $registroMailAutomatico;
		            																	  

		           /**
		            * SMS
		            */
		       
		           $registroSMS = 0;
		           $idSMS = array(4);
		           $registroSMS = $this->detallerentradas->loadCantByIn($registros, $idSMS, $this->_idUsuario);    																	    
		           		
		           $registro[$semana]["SMS"] = $registroSMS;

		       	   continue; 
		      	      	
		           	      
				 }
		     
		 $strCat .= "</categories>";
		 
		 
		 $strLlamada 		 = "<dataset seriesName='LLamada'>";
		 $strMail  	 		 = "<dataset seriesName='Mail'>";
		 $strMailAutomatico  = "<dataset seriesName='Autom&aacute;tico'>";
		 $strSMS 			 = "<dataset seriesName='SMS'>";
		 
		 
		 foreach ($registro as $semana){
		 	
		     $strLlamada  		.= "<set value='".$semana["LLamada"]."' />";
		     $strMail 	  		.= "<set value='".$semana["Mail"]."' />";
		     $strMailAutomatico .= "<set value='".$semana["MaiA"]."' />";
		     $strSMS 			.= "<set value='".$semana["SMS"]."'/>";
		 }
		 
		 $strLlamada   		.= "</dataset>";
		 $strMail  	   		.= "</dataset>";
		 $strMailAutomatico .= "</dataset>";
		 $strSMS 			.= "</dataset>";
		 
		 
		 $strCat .= $strLlamada;
		 $strCat .= $strMail;
		 $strCat .= $strMailAutomatico;
		 $strCat .= $strSMS;
		
			
				$strXML  = "<chart caption='Total de Seguimientos de Inbound' showValues='0' plotFillAlpha='95' formatNumberScale='0' >";
			    $strXML .=$strCat;
				$strXML .= "</chart>";
				return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/StackedColumn3D.swf", "ChartId54", $strXML, "sACsa", 480,250, 0, 0);
				
				
	 }
	
	    /**
     	 * 
     	 * Este metodo se utilizara para mostrar la cantidad de ventas por gestor.
     	 * ....
     	 */
	
    public function ventasPorgestor()
    {
    	  foreach($this->_semanaArray as $semana => $fecha){

		     	  break;
		          		     	
   			}	

   		$fechaU = $fecha[0];	
   	
 		$strXML = "<chart caption = 'Total de Ventas por Gestor' bgColor='#ffffff' baseFontSize='10' showValues='1' xAxisName='' >";
     		
    		        $tiposGestor = $this->usuarios->LoadUsuarioByIdDep(2);
    		               
     		        foreach ($tiposGestor as $record){
     		       
     			    
     			    $registros = array("IdUsuario"         => $record->getIdUsuario(),
		           					   "FechaHistorico >=" => $fechaU,
     			    				   "IdMotivoSalida"    => 6);
     			    
     			    
     			    $registroInboundHis = $this->TransaccionHistorico->loadCantByWhere($registros);
     			    
     			  
     			       
     			    $strXML .= "<set label = '".$record->getNombreUsuario()."' value ='".$registroInboundHis."'/>";	

     		        }
     		       
     		    
       $strXML .= "</chart>";
       return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/Pie3D.swf", "",$strXML, "Pizza", 385, 295, false);
            
		           
    }
	
	/**
	 * 
	 * Este metodo te permitira generar la cantidad de Seguimientos de Inbound por tipo(LLamada, Mail, Mail Auto, SMS)
	 * este grafico de tipo Pastel con filtro por Gestor y por Fechas. 
	 */
	public function composicionInbound()
	{
			  foreach($this->_semanaArray as $semana => $fecha){

		     	  break;
		          		     	
   	}	

   	$fechaU = $fecha[0];	
 	$strXML = "<chart caption = 'Tipo Seguimiento Inbound' bgColor='#ffffff' baseFontSize='10' showValues='1' xAxisName='' >";
     		
    		        $tiposSeguim = $this->tiposeguimientomodel->loadData();
    		               
     		        foreach ($tiposSeguim as $record){
     		       
     			    $seguimiento =  array("idTipoSeguimiento"      => $record->getIdTipoSeguimiento(),
     							          "DateSistema >="         => $fechaU);
     			    
     			    $registrosSeguimiento = $this->detallerentradas->loadCantByWhere($seguimiento, $this->_idUsuario);
     			       
     			    $strXML .= "<set label = '".$record->getTipoSeguimiento()."' value ='".$registrosSeguimiento."'/>";	

     		        }
     		       
     		    
       $strXML .= "</chart>";
       return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/Pie3D.swf", "",$strXML, "Pizza", 385, 295, false);
            
	}
	
	
	/**
	 * 
	 * Este grafico mostrara el promedio de todos los Inbound entre las ventas,
	 * es de tipo Lineal y tendra filtros por fecha y por Gestor
	 */
	
	public function ventasPromediosIn()
	{
		/**
		 * Contiene un array con todos los registro..
		 * @var array $registro
		 */
		
		$registro = array();
		
		$strCat = "<categories>";
			
		     foreach($this->_semanaArray as $semana => $fecha){

		          $fechaI = $fecha[0];
		          $fechaF = $fecha[1];
		     
		     	  $semanaDetalle = explode("-", $semana);		
		     		
		     			
		          $strCat .= "<category label='".$semanaDetalle[0]."'/>";
		     	  	    
		            	         	           					  					                  	
		           /**
		            * 
		            * Total Inbound
		            * 
		            */
		           
		           $registros = array("FechaSistema >="  =>$fechaI);						          	 
 	 					          	 
     		       
     		       
		           if($semana != date('W')){
		           	
		           		$registros["FechaSistema <="] = $fechaF;
		           
		           }
		           
		           					
		           
		           $registroInbound = 0;
		           $registroInbound = $this->TransaccionHistorico->loadCantByWhere($registros, $this->_idUsuario);		           
		        
		         
		           /**
		            * Total Ventas
		            */
		           $registrosV = array("FechaSistema >="  =>$fechaI,					          	 
 	 					          	   "IdMotivoSalida"   => 6);	
     		       
     		       
		           if($semana != date('W')){
		           	
		           		$registrosV["FechaSistema <="] = $fechaF;
		           
		           }
		           
		          
		           $registroVentas = $this->TransaccionHistorico->loadCantByWhere($registrosV, $this->_idUsuario);
		           											
				   
		           /**
		            * Total de Inbound entre ventas
		            */
		           
		           	$total = 0;
		           	
		            if($registroVentas == 0){
		            	
		           		   $total == 0;
		           		
		            }else{
		           
		           		  $total = $registroInbound/$registroVentas;
		           		  
		             }
		             
		             $registro[$semana]["total"] = $total;
		                 	      	
		           	 continue; 
		           	 
				 }
		     
		 $strCat .= "</categories>";
		 
		 
		 $strLinea 		 = "<dataset seriesName='Inbound entre Ventas'>";

		 
		 foreach ($registro as $semana){
		 	
		     $strLinea  		.= "<set value='".$semana["total"]."' />";
		    
		 }
		 
			 $strLinea   		.= "</dataset>";
		 
		 
		  $strCat .= $strLinea;
		
			
		  $strXML  = "<chart caption='Inbound entre Ventas' lineThickness='1' showValues='0' formatNumberScale='0' anchorRadius='2'   divLineAlpha='20' divLineColor='CC3300' divLineIsDashed='1' showAlternateHGridColor='1' alternateHGridColor='CC4400' shadowAlpha='40' labelStep='1' numvdivlines='5' chartRightMargin='35' bgColor='FFFFFF' bgAngle='270' bgAlpha='10,10' alternateHGridAlpha='5'  legendPosition ='RIGHT ' bordercolor='FFFFFF'>";	
		  $strXML .=$strCat;
		  $strXML .= "</chart>";
		  return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/MSLine.swf", "ChartId54", $strXML, "sACsa", 480,250, 0, 0);
            
		
	}
	
	/**
	 * 
	 * Este funcion permitira generar el grafico de todos los inbound por gestor,
	 * es un grafico de tipo pastel y solo sera filtrado por fehcas.
	 */
	public function composicionInboundPorGestor()
	{
			  foreach($this->_semanaArray as $semana => $fecha){

		     	  break;
		          		     	
   			}	

   	$fechaU = $fecha[0];	
   	
 	$strXML = "<chart caption = 'Inbound por Gestor' bgColor='#ffffff' baseFontSize='10' showValues='1' xAxisName='' >";
     		
    		        $tiposGestor = $this->usuarios->LoadUsuarioByIdDep(2);
    		               
     		        foreach ($tiposGestor as $record){
     		       
     			    $gestor =  array("IdUsuario"         => $record->getIdUsuario(),
     							     "DateSistema >="    => $fechaU);
     			    
     			    $registros = array("IdUsuario"       => $record->getIdUsuario(),
		           					   "FechaSistema >=" => $fechaU);
     			    
     			    $registrosSeguimientoG = $this->mtransaccionentrada->loadCantByWhere($gestor);
     			    
     			    $registroInboundHis = $this->TransaccionHistorico->loadCantByWhere($registros);
     			    
     			    $total = $registrosSeguimientoG + $registroInboundHis;
     			       
     			    $strXML .= "<set label = '".$record->getNombreUsuario()."' value ='".$total."'/>";	

     		        }
     		       
     		    
       $strXML .= "</chart>";
       return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/Pie3D.swf", "",$strXML, "Pizza", 385, 295, false);
            
	}
	
	
	
	/**
	 * 
	 * Este metodo permitira generar un promedio de todos los seguimientos de Inbound entre las ventas
	 * este grafico es de tipo lineal y va a permitir filtrar por usuario y por fecha
	 */
	public function ventasSeguiPromediosIn()
	{
		/**
		 * Contiene un array con todos los registro..
		 * @var array $registro
		 */
		
		$registro = array();
		
		$strCat = "<categories>";
			
		     foreach($this->_semanaArray as $semana => $fecha){

		          $fechaI = $fecha[0];
		          $fechaF = $fecha[1];
		  
		     	  $semanaDetalle = explode("-", $semana);		
		     		
		     			
		           $strCat .= "<category label='".$semanaDetalle[0]."'/>";
		     	  	    
		            	         	           					  					                  	
		           /**
		            * 
		            * Total Inbound
		            * 
		            */
		           
		           $registros = array("DateSistema >=" =>$fechaI,
		           					  "DateSistema <=" =>$fechaF);	
		           
		           $registroInbound = 0;
		           $registroInbound = $this->detallerentradas->loadCantByWhere($registros, $this->_idUsuario);

		            
		           
		           /**
		            * Total Ventas
		            */
		           
		           $registrosV = array("FechaSistema >="  =>$fechaI,					          	 
 	 					          	   "IdMotivoSalida"   => 6);	
     		       
     		       
		            if($semana != date('W')){
		           	
		           		$registrosV["FechaSistema <="] = $fechaF;
		           
		           }
		           
		          
		           $registroVentas = $this->TransaccionHistorico->loadCantByWhere($registrosV, $this->_idUsuario);
		    
		           /**
		            * Total de Inbound entre ventas
		            */
		           $total = 0;
		           
		           if($registroVentas == 0){
		           	
		           		$total == 0;	
		           			
		           		
		           }else{
		           	
		          	 	$total = $registroInbound/$registroVentas;
		           }
		           
		           $registro[$semana]["total"] = $total;
		       	   continue; 
		      	      	
		           	      
				 }
		     
		 $strCat .= "</categories>";
		 
		 
		 $strLinea 		 = "<dataset seriesName='Total seguimiento entre ventas '>";

		 
		 foreach ($registro as $semana){
		 	
		     $strLinea  		.= "<set value='".$semana["total"]."' />";
		    
		 }
		 
			 $strLinea   		.= "</dataset>";
		 
		 
		  $strCat .= $strLinea;
		
			
		  $strXML  = "<chart caption='Seguimientos entre Ventas'  showValues='0' formatNumberScale='0' anchorRadius='2'   divLineAlpha='20' divLineColor='CC3300' divLineIsDashed='1' showAlternateHGridColor='1' alternateHGridColor='CC4400' shadowAlpha='40' labelStep='1' numvdivlines='5' chartRightMargin='35' bgColor='FFFFFF' bgAngle='270' bgAlpha='10,10' alternateHGridAlpha='5'  legendPosition ='RIGHT ' bordercolor='FFFFFF'>";	
		  $strXML .=$strCat;
		  $strXML .= "</chart>";
		  return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/MSLine.swf", "ChartId54", $strXML, "sACsa", 480,250, 0, 0);

		  
	}
	
	/**
	 * 
	 * Composicion de todos los seguimientos de Inbound por Gestor este grafico es de tipo pastel.
	 */
	
	public function compSeguimientoInPorGestor()
	{
			  foreach($this->_semanaArray as $semana => $fecha){

		     	  break;
		          		     	
   	}	

   	$fechaU = $fecha[0];
   		
 	$strXML = "<chart caption = 'Seguimientos por Gestor' bgColor='#ffffff' baseFontSize='10' showValues='1' xAxisName='' >";
     		
    		        $tiposGestor = $this->usuarios->LoadUsuarioByIdDep(2);
    		               
     		        foreach ($tiposGestor as $record){
     		       
     			    $gestor =  array("IdUsuario"              => $record->getIdUsuario(),
     							     "DateSistema >="         => $fechaU);
     			    
     			    $registrosSeguimientoI = $this->detallerentradas->loadCantByWhere($gestor);
     			    
     	
     			    $strXML .= "<set label = '".$record->getNombreUsuario()."' value ='".$registrosSeguimientoI."'/>";	

     		        }
     		       
     		    
       $strXML .= "</chart>";
       return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/Pie3D.swf", "",$strXML, "Pizza", 385, 295, false);
            
	}
	
	
	/**
	 * 
	 * Este es el metodo que te permitira generar los seguimientos por horas
	 */
		
   	    public function seguimiPorHoras()
     	{
     		/**
     		 * 
     		 * Esta es la funcion para la creacion del graficos ventas generales vs Inbound
     		 * 
     		 */
     		
     		$registro = array();
     		
     		$strCat = "<categories>";
     		
				          
		          $strCat .= "<category label=''/>";
		 
		           
     		      $registrosOcho = array("TimeSistema >="     =>'08:00:00',
		           					     "TimeSistema <="     =>'08:59:59');

		          $registroSeguiOcho = $this->detallerentradas->loadCantByWhere($registrosOcho, $this->_idUsuario);
			           
		      
		          /**
		           * 
		           * seguimieto por horas, a las 9:00 am
		           *
		           */
		          
		          $registrosNueve = array("TimeSistema >="     =>'09:00:00',
		           					      "TimeSistema <="     =>'09:59:59');

		          $registroSeguiNueve = $this->detallerentradas->loadCantByWhere($registrosNueve, $this->_idUsuario);
			           
		          
		          
		              
		          /**
		           * 
		           * seguimieto por horas, a las 10:00 am
		           *
		           */
		          
		          $registrosDiez = array("TimeSistema >="     =>'10:00:00',
		           					      "TimeSistema <="     =>'10:59:59');

		          $registroSeguiDiez = $this->detallerentradas->loadCantByWhere($registrosDiez, $this->_idUsuario);
			           
		        
		          
		          
		           /**
		           * 
		           * seguimieto por horas, a las 11:00 am
		           *
		           */
		          
		          $registrosOnce = array("TimeSistema >="     =>'11:00:00',
		           					     "TimeSistema <="     =>'11:59:59');

		          $registroSeguionce = $this->detallerentradas->loadCantByWhere($registrosOnce, $this->_idUsuario);
			           
		       
		          
		          
		           /**
		           * 
		           * seguimieto por horas, a las 12:00 am
		           *
		           */
		          
		          $registrosDoce = array("TimeSistema >="     =>'12:00:00',
		           					     "TimeSistema <="     =>'12:59:59');

		          $registroSeguiDoce = $this->detallerentradas->loadCantByWhere($registrosDoce, $this->_idUsuario);
			           
		        
		           /**
		           * 
		           * seguimieto por horas, a las 1:00 pm
		           *
		           */
		          
		          $registrosUna = array("TimeSistema >="     =>'13:00:00',
		           					     "TimeSistema <="     =>'13:59:59');

		          $registroSeguiUna = $this->detallerentradas->loadCantByWhere($registrosUna, $this->_idUsuario);
			           
		          
		          
		          
		           /**
		           * 
		           * seguimieto por horas, a las 2:00 pm
		           *
		           */
		          
		          $registrosdos = array( "TimeSistema >="     =>'14:00:00',
		           					     "TimeSistema <="     =>'14:59:59');

		          $registroSeguidos = $this->detallerentradas->loadCantByWhere($registrosdos, $this->_idUsuario);
			           
		         
		          
		          
		           /**
		           * 
		           * seguimieto por horas, a las 3:00 pm
		           *
		           */
		          
		          $registrostres = array("TimeSistema >="     =>'15:00:00',
		           					     "TimeSistema <="     =>'15:59:59');

		          $registroSeguitres = $this->detallerentradas->loadCantByWhere($registrostres, $this->_idUsuario);
			           
		       
		          
		          
		           /**
		           * 
		           * seguimieto por horas, a las 4:00 pm
		           *
		           */
		          
		          $registroscuatro = array("TimeSistema >="     =>'16:00:00',
		           					      "TimeSistema <="     =>'16:59:59');

		          $registroSeguicuatro = $this->detallerentradas->loadCantByWhere($registroscuatro, $this->_idUsuario);
			           
		        
		          
		          
		          /**
		           * 
		           * seguimieto por horas, a las 5:00 pm
		           *
		           */
		          
		          $registroscinco = array("TimeSistema >="     =>'17:00:00',
		           					      "TimeSistema <="     =>'17:59:59');

		          $registroSeguicinco = $this->detallerentradas->loadCantByWhere($registroscinco, $this->_idUsuario);
			           
		         
		          
		          /**
		           * 
		           * seguimieto por horas, a las 6:00 pm
		           *
		           */
		          
		          $registrosSeis = array("TimeSistema >="     =>'18:00:00',
		           					     "TimeSistema <="     =>'18:59:59');

		          $registroSeguiSeis = $this->detallerentradas->loadCantByWhere($registrosSeis, $this->_idUsuario);
			           
		          
		                   
		     
		     
		 $strCat .= "</categories>";
		 
		 $strSeguimientoOcho    = "<dataset seriesName='8:00  am'>";
		 $strSeguimientoNuev    = "<dataset seriesName='9:00  am'>";
		 $strSeguimientoDiez    = "<dataset seriesName='10:00 am'>";
		 $strSeguimientoOnce    = "<dataset seriesName='11:00 am'>";
		 $strSeguimientoDoce    = "<dataset seriesName='12:00 am'>";
		 $strSeguimientoUna     = "<dataset seriesName='1:00 pm'>";
		 $strSeguimientoDos  	= "<dataset seriesName='2:00 pm'>";
		 $strSeguimientotres  	= "<dataset seriesName='3:00 pm'>";
		 $strSeguimientoCuatro  = "<dataset seriesName='4:00 pm'>";
		 $strSeguimientoCinco   = "<dataset seriesName='5:00 pm'>";
		 $strSeguimientoSeis    = "<dataset seriesName='6:00 pm'>";
		 
		 	
		     $strSeguimientoOcho  	.= "<set value='".$registroSeguiOcho."'/>";
		     $strSeguimientoNuev  	.= "<set value='".$registroSeguiNueve."'/>";
		     $strSeguimientoDiez  	.= "<set value='".$registroSeguiDiez."'/>";
		     $strSeguimientoOnce  	.= "<set value='".$registroSeguionce."'/>";
		     $strSeguimientoDoce  	.= "<set value='".$registroSeguiDoce."'/>";
		     $strSeguimientoUna   	.= "<set value='".$registroSeguiUna ."'/>";
		     $strSeguimientoDos   	.= "<set value='".$registroSeguidos."'/>";
		     $strSeguimientotres  	.= "<set value='".$registroSeguitres."'/>";
		     $strSeguimientoCuatro  .= "<set value='".$registroSeguicuatro."'/>";
		     $strSeguimientoCinco   .= "<set value='".$registroSeguicinco."'/>";
		     $strSeguimientoSeis    .= "<set value='".$registroSeguiSeis."'/>";

		
		 
		 $strSeguimientoOcho  .= "</dataset>";
		 $strSeguimientoNuev  .= "</dataset>";
		 $strSeguimientoDiez  .= "</dataset>";
		 $strSeguimientoOnce  .= "</dataset>";
		 $strSeguimientoDoce  .= "</dataset>";
		 $strSeguimientoUna   .= "</dataset>";
		 $strSeguimientoDos   .= "</dataset>";
		 $strSeguimientotres  .= "</dataset>";
		 $strSeguimientoCuatro.= "</dataset>";
		 $strSeguimientoCinco .= "</dataset>";
		 $strSeguimientoSeis  .= "</dataset>";
		 
	
		 $strCat .= $strSeguimientoOcho;
		 $strCat .= $strSeguimientoNuev;
		 $strCat .= $strSeguimientoDiez;
		 $strCat .= $strSeguimientoOnce;
		 $strCat .= $strSeguimientoDoce;
		 $strCat .= $strSeguimientoUna;
		 $strCat .= $strSeguimientoDos;
		 $strCat .= $strSeguimientotres;
		 $strCat .= $strSeguimientoCuatro;
		 $strCat .= $strSeguimientoCinco;
		 $strCat .= $strSeguimientoSeis;
	
     		
			$strXML  = "<chart palette='1' caption='Seguimientos por Horas' showLabels='1' showvalues='0'  sYAxisValuesDecimals='2' connectNullData='0' PYAxisName='' SYAxisName=''  numDivLines='4' formatNumberScale='0'>";
			$strXML .=$strCat;
			$strXML .= "</chart>";
			return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/MSColumn3D.swf", "ChartId54", $strXML, "sACsa", 900,250, 0, 0);
	
	
     	}
     	
     	
     	
     	/**
     	* 
     	* Esta es el metodo es el que te permite obtener los seguimientos por Dias.
     	* 
     	*/
     		
     	public function seguiPorDias()
     	{
     		
     		
     	     $strCat = "<categories>";
     		 
     		 $registro = array();
     		 
     		 $seguimientos = array();
  	   
     		 foreach($this->_semanaArray as $semana => $fecha){

		     	  break;
		          		     	
   	         }	

           	 $fechaU = $fecha[0];
           	 
           	 $arrayFecha = array("DateSistema >=" =>$fechaU);	
           	 					
     		 $todosSeguimiento = $this->detallerentradas->LoadDetalleWhere($arrayFecha, $this->_idUsuario);
     		 
     		 
     		 
     		 foreach($todosSeguimiento as $datos){
     		 	
     		 	
     		 		$fecha = $datos->getDateSistema();
     		 		
     		 		$diasTodos = 0;
     		 		
     		 		$diasTodos = explode("-", $fecha);
     		 		
     		 		$dias = $diasTodos[2];
     		 		
     		 		$seguimientos[intval($dias)][] = $datos; 	
     		 		
     		 		if(!isset($seguimientos[intval($dias)])){
     		 			
     		 				unset($seguimientos[intval($dias)]);
     		 				
     		 				
     		 			}
     			  } 
     			 
     			
     			   			  
     			   
     			 
		          $strCat .= "<category label=''/>";
				
		          $strCat .= "</categories>";
		 		
		          
		          $strDia1  = "<dataset seriesName='1'>";
		          $strDia2  = "<dataset seriesName='2'>";
		          $strDia3  = "<dataset seriesName='3'>";
		          $strDia4  = "<dataset seriesName='4'>";
		          $strDia5  = "<dataset seriesName='5'>";
		          $strDia6  = "<dataset seriesName='6'>";
		          $strDia7  = "<dataset seriesName='7'>";
		          $strDia8  = "<dataset seriesName='8'>";
		          $strDia9  = "<dataset seriesName='9'>";
		          $strDia10  = "<dataset seriesName='10'>";
		          $strDia11  = "<dataset seriesName='11'>";
		          $strDia12  = "<dataset seriesName='12'>";
		          $strDia13  = "<dataset seriesName='13'>";
		          $strDia14  = "<dataset seriesName='14'>";
		          $strDia15  = "<dataset seriesName='15'>";
		          $strDia16  = "<dataset seriesName='16'>";
		          $strDia17  = "<dataset seriesName='17'>";
		          $strDia18  = "<dataset seriesName='18'>";
		          $strDia19  = "<dataset seriesName='19'>";
		          $strDia20  = "<dataset seriesName='20'>";
		          $strDia21  = "<dataset seriesName='21'>";
		          $strDia22  = "<dataset seriesName='22'>";
		          $strDia23  = "<dataset seriesName='23'>";
		          $strDia24  = "<dataset seriesName='24'>";
		          $strDia25  = "<dataset seriesName='25'>";
		          $strDia26  = "<dataset seriesName='26'>";
		          $strDia27  = "<dataset seriesName='27'>";
		          $strDia28  = "<dataset seriesName='28'>";
		          $strDia29  = "<dataset seriesName='29'>";
		          $strDia30  = "<dataset seriesName='30'>";
		          $strDia31  = "<dataset seriesName='31'>";
		          
					
		          
		          $strDia1 .= "<set value ='".count(@$seguimientos[1])."'/>";
		          $strDia2 .= "<set value ='".count(@$seguimientos[2])."'/>";
		    	  $strDia3 .= "<set value ='".count(@$seguimientos[3])."'/>";
		    	  $strDia4 .= "<set value ='".count(@$seguimientos[4])."'/>";
		    	  $strDia5 .= "<set value ='".count(@$seguimientos[5])."'/>";
		    	  $strDia6 .= "<set value ='".count(@$seguimientos[6])."'/>";
		    	  $strDia7 .= "<set value ='".count(@$seguimientos[7])."'/>";
		    	  $strDia8 .= "<set value ='".count(@$seguimientos[8])."'/>";
		    	  $strDia9 .= "<set value ='".count(@$seguimientos[9])."'/>";
		    	  $strDia10 .= "<set value ='".count(@$seguimientos[10])."'/>";
		    	  $strDia11 .= "<set value ='".count(@$seguimientos[11])."'/>";
		    	  $strDia12 .= "<set value ='".count(@$seguimientos[12])."'/>";
		    	  $strDia13 .= "<set value ='".count(@$seguimientos[13])."'/>";
		    	  $strDia14 .= "<set value ='".count(@$seguimientos[14])."'/>";
		    	  $strDia15 .= "<set value ='".count(@$seguimientos[15])."'/>";
		    	  $strDia16 .= "<set value ='".count(@$seguimientos[16])."'/>";
		          $strDia17 .= "<set value ='".count(@$seguimientos[17])."'/>";
		    	  $strDia18 .= "<set value ='".count(@$seguimientos[18])."'/>";
		    	  $strDia19 .= "<set value ='".count(@$seguimientos[19])."'/>";
		    	  $strDia20 .= "<set value ='".count(@$seguimientos[20])."'/>";
		    	  $strDia21 .= "<set value ='".count(@$seguimientos[21])."'/>";
		    	  $strDia22 .= "<set value ='".count(@$seguimientos[22])."'/>";
		    	  $strDia23 .= "<set value ='".count(@$seguimientos[23])."'/>";
		    	  $strDia24 .= "<set value ='".count(@$seguimientos[24])."'/>";
		    	  $strDia25 .= "<set value ='".count(@$seguimientos[25])."'/>";
		    	  $strDia26 .= "<set value ='".count(@$seguimientos[26])."'/>";
		    	  $strDia27 .= "<set value ='".count(@$seguimientos[27])."'/>";
		    	  $strDia28 .= "<set value ='".count(@$seguimientos[28])."'/>";
		    	  $strDia29 .= "<set value ='".count(@$seguimientos[29])."'/>";
		    	  $strDia30 .= "<set value ='".count(@$seguimientos[30])."'/>";
		    	  $strDia31 .= "<set value ='".count(@$seguimientos[31])."'/>";
		    	  
				
		    
		          $strDia1  .= "</dataset>";
		          $strDia2  .= "</dataset>";
		          $strDia3  .= "</dataset>";
		          $strDia4  .= "</dataset>";
		          $strDia5  .= "</dataset>";
		          $strDia6  .= "</dataset>";
		          $strDia7  .= "</dataset>";
		          $strDia8  .= "</dataset>";
		          $strDia9  .= "</dataset>";
		          $strDia10  .= "</dataset>";
		          $strDia11  .= "</dataset>";
		          $strDia12  .= "</dataset>";
		          $strDia13  .= "</dataset>";
		          $strDia14  .= "</dataset>";
		          $strDia15  .= "</dataset>";
		          $strDia16  .= "</dataset>";
		          $strDia17  .= "</dataset>";
		          $strDia18  .= "</dataset>";
		          $strDia19  .= "</dataset>";
		          $strDia20  .= "</dataset>";
		          $strDia21  .= "</dataset>";
		          $strDia22  .= "</dataset>";
		          $strDia23  .= "</dataset>";
		          $strDia24  .= "</dataset>";
		          $strDia25  .= "</dataset>";
		          $strDia26  .= "</dataset>";
		          $strDia27  .= "</dataset>";
		          $strDia28  .= "</dataset>";
		          $strDia29  .= "</dataset>";
		          $strDia30  .= "</dataset>";
		          $strDia31  .= "</dataset>";
		          
		             
		    
		          
		          $strCat .= $strDia1;
		          $strCat .= $strDia2;
				  $strCat .= $strDia3;
				  $strCat .= $strDia4;
				  $strCat .= $strDia5;
				  $strCat .= $strDia6;
				  $strCat .= $strDia7;
				  $strCat .= $strDia8;
				  $strCat .= $strDia9;
				  $strCat .= $strDia10;
				  $strCat .= $strDia11;
				  $strCat .= $strDia12;
				  $strCat .= $strDia13;
				  $strCat .= $strDia14;
				  $strCat .= $strDia15;
				  $strCat .= $strDia16;
		          $strCat .= $strDia17;
				  $strCat .= $strDia18;
				  $strCat .= $strDia19;
				  $strCat .= $strDia20;
				  $strCat .= $strDia21;
				  $strCat .= $strDia22;
				  $strCat .= $strDia23;
				  $strCat .= $strDia24;
				  $strCat .= $strDia25;
				  $strCat .= $strDia26;
				  $strCat .= $strDia27;
				  $strCat .= $strDia28;
				  $strCat .= $strDia29;
				  $strCat .= $strDia30;
				  $strCat .= $strDia31;
		             
				 
     		
				$strXML  = "<chart palette='1' caption='Seguimiento por Dias' showLabels='1' showvalues='0' connectNullData='0' PYAxisName='' SYAxisName=''  numDivLines='4' formatNumberScale='0'>";
				$strXML .=$strCat;
				$strXML .= "</chart>";
				return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/MSColumn3DLineDY.swf", "ChartId54", $strXML, "sACsa", 900,250, 0, 0);
	
     	}	
     	
     	
	    public function seguimientosPorDiasSemana()
     	{
     		
     		
     	    $strCat = "<categories>";
     		  
     	    $seguimientos = array();
     		 
     	    foreach($this->_semanaArray as $semana => $fecha){

		     	  break;
		          		     	
   	         }	

   	         
           	$fechaU = $fecha[0];
           	 
           	$arrayFecha = array("DateSistema >=" =>$fechaU,
           						"Dias"           =>'Monday');
           	
     		$todosSeguimiento = $this->mvistadetallemodel->LoadDetalleWhere($arrayFecha, $this->_idUsuario);
     		 
     
     		
     		foreach($todosSeguimiento as $datos){
     		 	
     		 	
     		 		$fecha = $datos->getDateSistema();
     		 		$explodeFecha = explode("-", $fecha);
     		 		
     		 		$diasSemana = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
     		 		$fechaOriginal = mktime(0,0,0,$explodeFecha[1],$explodeFecha[2],$explodeFecha[0]);
     		 		
     				$dia = date("w",$fechaOriginal);
     				
     				
     			    $seguimientos[$fechaOriginal][] = $datos;
     			    
     		 			
     		 			
     				}
     			 
     			
     			   			  
		          $strCat .= "<category label=''/>";
				
		          $strCat .= "</categories>";
		 		
		          
		          $strDia1  = "<dataset seriesName='Lunes'>";
		          $strDia2  = "<dataset seriesName='Martes'>";
		          $strDia3  = "<dataset seriesName='Miercoles'>";
		          $strDia4  = "<dataset seriesName='Jueves'>";
		          $strDia5  = "<dataset seriesName='Viernes'>";
		          $strDia6  = "<dataset seriesName='Sabado'>";
		          $strDia7  = "<dataset seriesName='Domingo'>";
		         
					
		         
		          $strDia1 .= "<set value ='".count(@$seguimientos[1312776000])."'/>";
		          $strDia2 .= "<set value ='".count(@$seguimientos[1312862400])."'/>";
		    	  $strDia3 .= "<set value ='".count(@$seguimientos[1312948800])."'/>";
		    	  $strDia4 .= "<set value ='".count(@$seguimientos[1313035200])."'/>";
		    	  $strDia5 .= "<set value ='".count(@$seguimientos[1313121600])."'/>";
		    	  $strDia6 .= "<set value ='".count(@$seguimientos[1313208000])."'/>";
		    	  $strDia7 .= "<set value ='".count(@$seguimientos[1317528000])."'/>";
		      
				
		    
		          $strDia1  .= "</dataset>";
		          $strDia2  .= "</dataset>";
		          $strDia3  .= "</dataset>";
		          $strDia4  .= "</dataset>";
		          $strDia5  .= "</dataset>";
		          $strDia6  .= "</dataset>";
		          $strDia7  .= "</dataset>";
		     
		          
		          
		          $strCat .= $strDia1;
		          $strCat .= $strDia2;
				  $strCat .= $strDia3;
				  $strCat .= $strDia4;
				  $strCat .= $strDia5;
				  $strCat .= $strDia6;
				  $strCat .= $strDia7;
			
		             
				 
     		
				$strXML  = "<chart palette='1' caption='Seguimiento por Dias de la Semana' showLabels='1' showvalues='0' connectNullData='0' PYAxisName='' SYAxisName=''  numDivLines='4' formatNumberScale='0'>";
				$strXML .=$strCat;
				$strXML .= "</chart>";
				return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/MSColumn3DLineDY.swf", "ChartId54", $strXML, "sACsa", 550,250, 0, 0);
	
     		}
     		
     		
        public function seguimientosDiasSemana()
	    {
		/**
		 * Contiene un array con todos los registro..
		 * @var array $registro
		 */
		
		$registro = array();
		
		$strCat = "<categories>";
			
		     foreach($this->_semanaArray as $semana => $fecha){

		          $fechaI = $fecha[0];
		          $fechaF = $fecha[1];
		     	
		  
		     	  $semanaDetalle = explode("-", $semana);		
		     		
		     			
		          $strCat .= "<category label='".$semanaDetalle[0]."'/>";
		     	  	    
		            	          
		           
		           /**
		            * 
		            * Total de seguimieto los Seguimiento los Lunes
		            * 
		            */
		           $registrosLunes = array("DateSistema >=" =>$fechaI,
		           						   "Dias"           =>'Monday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosLunes["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientos = 0;
		           $registroSeguimientos = $this->mvistadetallemodel->loadCantByWhere($registrosLunes, $this->_idUsuario);		           
		           $registro[$semana]["Lunes"] = $registroSeguimientos;
		          
		           
		           /**
		            * Total de seguimieto los Seguimiento los Martes
		            */
		           $registrosMartes = array("DateSistema >=" =>$fechaI,
		           						    "Dias"           =>'Tuesday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosMartes["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientoMartes = 0;
		           $registroSeguimientoMartes = $this->mvistadetallemodel->loadCantByWhere($registrosMartes, $this->_idUsuario);		           
		           $registro[$semana]["Martes"] = $registroSeguimientoMartes;
		           
		           
		           /**
		            * Total de seguimieto los Seguimiento los Miercoles
		            */
		           $registrosMiercoles = array("DateSistema >=" =>$fechaI,
		           						       "Dias"           =>'Wednesday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosMiercoles["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientoMiercoles = 0;
		           $registroSeguimientoMiercoles = $this->mvistadetallemodel->loadCantByWhere($registrosMiercoles, $this->_idUsuario);		           
		           $registro[$semana]["Miercoles"] = $registroSeguimientoMiercoles;			  

		           /**
		            * Total de seguimieto los Seguimiento los Jueves
		            */
		           $registrosJueves = array("DateSistema >=" =>$fechaI,
		           						    "Dias"           =>'Thursday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosJueves["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientoJueves = 0;
		           $registroSeguimientoJueves = $this->mvistadetallemodel->loadCantByWhere($registrosJueves, $this->_idUsuario);		           
		           $registro[$semana]["Jueves"] = $registroSeguimientoJueves;

		           
		            /**
		            * Total de seguimieto los Seguimiento los Viernes
		            */
		           
		           $registrosViernes = array("DateSistema >=" =>$fechaI,
		           						     "Dias"           =>'Friday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosViernes["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientoVierenes = 0;
		           $registroSeguimientoVierenes = $this->mvistadetallemodel->loadCantByWhere($registrosViernes, $this->_idUsuario);		           
		           $registro[$semana]["Viernes"] = $registroSeguimientoVierenes;	

		           /**
		            * Total de seguimieto los Seguimiento los Sabados
		           */
		           
		           $registrosSabado = array("DateSistema >=" =>$fechaI,
		           						    "Dias"           =>'Saturday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosSabado["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientoSabado = 0;
		           $registroSeguimientoSabado = $this->mvistadetallemodel->loadCantByWhere($registrosSabado, $this->_idUsuario);		           
		           $registro[$semana]["Sabado"] = $registroSeguimientoSabado;	
		           
		           
		           /**
		            * Total de seguimieto los Seguimiento los Domingos
		           */
		           
		           $registrosDomingo = array("DateSistema >=" =>$fechaI,
		           						     "Dias"           =>'Sunday');		           					  					          	 
 	 					          	
		       	   if($semana != date('W')){
		           	
		           		$registrosDomingo["DateSistema <="] = $fechaF;
		           }
		           $registroSeguimientoDomingo = 0;
		           $registroSeguimientoDomingo = $this->mvistadetallemodel->loadCantByWhere($registrosDomingo, $this->_idUsuario);		           
		           $registro[$semana]["Domingo"] = $registroSeguimientoDomingo;	
		           
		       	   continue; 
		      	      	
		           	      
				 }
		     
		 $strCat .= "</categories>";
		 
		 
		 $strLunes 		         = "<dataset seriesName='Lunes'>";
		 $strMartes 	 		 = "<dataset seriesName='Martes'>";
		 $strMiercoles           = "<dataset seriesName='Miercoles'>";
		 $strJueves 			 = "<dataset seriesName='Jueves'>";
		 $strViernes 			 = "<dataset seriesName='Viernes'>";
		 $strSabado 			 = "<dataset seriesName='Sabado'>";
		 $strDomingo 			 = "<dataset seriesName='Domingo'>";
		 
		 
		 foreach ($registro as $semana){
		 	
		     $strLunes  		    .= "<set value='".$semana["Lunes"]."' />";
		     $strMartes 	  		.= "<set value='".$semana["Martes"]."' />";
		     $strMiercoles          .= "<set value='".$semana["Miercoles"]."' />";
		     $strJueves 			.= "<set value='".$semana["Jueves"]."'/>";
		     $strViernes 			.= "<set value='".$semana["Viernes"]."'/>";
		     $strSabado 			.= "<set value='".$semana["Sabado"]."'/>";
		     $strDomingo 			.= "<set value='".$semana["Domingo"]."'/>";
		 }
		 
		 $strLunes   		    .= "</dataset>";
		 $strMartes  	   		.= "</dataset>";
		 $strMiercoles 			.= "</dataset>";
		 $strJueves 			.= "</dataset>";
		 $strViernes 			.= "</dataset>";
		 $strSabado 			.= "</dataset>";
		 $strDomingo 			.= "</dataset>";
		 
		 
		 $strCat .= $strLunes;
		 $strCat .= $strMartes;
		 $strCat .= $strMiercoles;
		 $strCat .= $strJueves;
		 $strCat .= $strViernes;
		 $strCat .= $strSabado;
		 $strCat .= $strDomingo;
		
			
				$strXML  = "<chart palette='1' caption='Seguimiento por Dias de la Semana' showLabels='1' showvalues='0' connectNullData='0' PYAxisName='' SYAxisName=''  numDivLines='4' formatNumberScale='0'>";
				$strXML .=$strCat;
				$strXML .= "</chart>";
				return $this->chgraficos->renderChartHTML(base_url()."public/swf_charts/MSColumn3DLineDY.swf", "ChartId54", $strXML, "sACsa", 550,250, 0, 0);
	
				
	}
	
     			     			  
 }
     		
    	